home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / misc / merit / noop / tutorial / esisint.doc < prev    next >
Internet Message Format  |  1991-04-01  |  17KB

  1. From almes@rice.edu Mon Mar 25 09:28:07 1991
  2. Received: Mon, 25 Mar 91 09:28:04 EST by rivendell.merit.edu (5.51/1.6)
  3. Return-Path: <almes@rice.edu>
  4. Received: from rice.edu by merit.edu (5.65/1123-1.0)
  5.     id AA20725; Mon, 25 Mar 91 09:25:59 -0500
  6. Received: from vesuvius.rice.edu by rice.edu (AA28299); Mon, 25 Mar 91 08:25:28 CST
  7. Received: by vesuvius.rice.edu (AA25679); Mon, 25 Mar 91 08:25:54 CST
  8. Date: Mon, 25 Mar 91 08:25:54 CST
  9. From: almes@rice.edu (Guy Almes)
  10. Message-Id: <9103251425.AA25679@vesuvius.rice.edu>
  11. To: skh@merit.edu
  12. Subject: Re:  ES-IS and CLNP tutorial's ready for anonymous ftp
  13. Status: RO
  14.  
  15. Sue:
  16.   I've formatted esis.intro.doc to have more uniform margins.
  17.   Cheers,
  18.     -- Guy
  19.  
  20.  
  21.  
  22.  
  23.     A tutorial on the ES-IS protocol
  24.  
  25.  
  26.  
  27. by: Robert Hagens
  28.     University of Wisconsin 
  29.     hagens@cs.wisc.edu
  30.  
  31.  
  32.  
  33. Introduction
  34.  
  35.  
  36.  
  37.     On a typical OSI subnetwork, computers (systems) generally fall 
  38.     into two classes: End Systems (ES) and Intermediate Systems (IS). 
  39.     This classification is made from a layer point of view: both
  40.     systems contain the OSI layers 1 (physical) through 3 (network).
  41.     However, an ES also contains OSI layers 4 - 7. An IS does not. ****
  42.  
  43.     [**** Footnote: The distinction between ESs and ISs is gray when
  44.     real systems are considered. For example, although an IS may 
  45.     primarily route packets, it may also have layers 4 - 7 present in
  46.     order to operate network management protocols.] 
  47.  
  48.     The basic idea is that ESs are systems that run applications that
  49.     send and receive packets of information and ISs are systems that
  50.     route the packets from source to destination. This general concept
  51.     can be readily subdivided into two cases. The first case occurs
  52.     when the source and destination ES are connected to the same
  53.     subnetwork (see Figure 1, host A communicating with host B). Since
  54.     A and B are on the same subnetwork, packets may flow directly
  55.     between them without the intervention of an IS.  The second case
  56.     occurs when the source and destination ES are not connected to the
  57.     same subnetwork (Figure 1, host A communicating with host C). It is 
  58.     important to note that in the second case, packets flowing from
  59.     A to C must be fowarded from one subnetwork to the other by IS D.
  60.  
  61.     The End System to Intermediate System routing exchange protocol
  62.     (ISO 9542) is designed to aid the two types of communication 
  63.     between ESs and ISs described above. The protocol provides a means
  64.     for ESs and ISs on a subnetwork to learn of each other's existence.
  65.     This process, known as *configuration*, allows ESs and ISs to
  66.     dynamically determine the existence of each other. The dynamic
  67.     quality of the protocol eliminates the need for manual
  68.     configuration of the different types of systems on a subnetwork.
  69.     In addition to promoting the exchange of configuration information,
  70.     the protocol provides a means for route *redirection* information
  71.     to be sent from an IS to an ES. This allows an IS to inform an ES
  72.     of a potentially better route towards a destination.
  73.  
  74.     As explained below, the ES-IS protocol distinguishes different
  75.     types of subnetworks.  The operation of the protocol is quite
  76.     different on each type of subnetwork.  The difference between the
  77.     broadcast subnetwork (i.e., 802.3) version and the general topology
  78.     subnetwork (i.e., X.25) version is so large that there are two
  79.     distinct versions of the protocol defined.  This article will not
  80.     describe the operation of ES-IS over X.25. Rather, it will concern
  81.     itself with the operation of the ES-IS protocol when it is used in
  82.     conjunction with the OSI connectionless-mode network protocol
  83.     (ISO 8473).
  84.  
  85. Configuration Information
  86.  
  87.     Configuration information is transmitted by exchanging two types of
  88.     packets: the End System Hello (ESH) packet is generated by ESs and 
  89.     transmitted to every IS on the subnetwork.  The Intermediate System
  90.     Hello (ISH) packet is generated by ISs and transmitted to every ES
  91.     on the subnetwork. The primary purpose of the hello packets is to
  92.     convey the subnetwork and network layer address of the system that
  93.     transmitted the packet. The ESH and the ISH packets are generated
  94.     by a system when the system's configuration timer expires.  When
  95.     the timer expires, a hello packet is transmitted and the timer
  96.     reset to its initial value. The initial value of the timer is
  97.     maintained locally by the system.  The interval between
  98.     transmission of hello packets may be modified by adjusting this
  99.     timer.
  100.  
  101.     The configuration interval must be coordinated with the value of
  102.     the holding timer that is transmitted with the hello packet.  The
  103.     holding timer indicates to the receiving system the number of
  104.     seconds that the configuration information should be kept.  When
  105.     the holding timer expires, the associated configuration information 
  106.     must be deleted. If the holding timer is smaller than the
  107.     configuration timer, systems may "disappear" from the subnetwork
  108.     for periods of time. 
  109.  
  110.  
  111. Redirection Information
  112.  
  113.     Redirection information is transmitted via a RD PDU. These PDUs are
  114.     only generated by ISs. The purpose of an RD PDU is to inform an ES
  115.     of a potentially better route towards its destination. 
  116.  
  117.     During the forwarding process, an IS will determine the next system
  118.     to which the packet should be sent. If an IS can determine that
  119.     this "next hop" system can be reached directly, without the IS's
  120.     intervention, then a RD PDU will be sent from the IS to the
  121.     originator of the packet.
  122.  
  123.     The RD PDU may redirect an ES to either the destination ES or to a
  124.     different IS. The lifetime of the information conveyed by the RD
  125.     PDU is limited by a holding timer, just like the hello PDUs.
  126.  
  127.     Normally, the redirection information delivered in an RD PDU is
  128.     specific to a single destination address.  However, as an option,
  129.     it is possible for an RD PDU to indicate that the redirection
  130.     information should be applied to a larger number of destination
  131.     addresses.  This is accomplished by including an address mask which
  132.     indicates the larger population of destination addresses.
  133.  
  134. Subnetwork Topology Considerations
  135.  
  136.     The ES-IS protocol identifies 3 common subnetwork topologies: a
  137.     point-to-point subnetwork, a broadcast subnetwork, and a general
  138.     topology subnetwork. The point-to-point subnetwork supports
  139.     exactly two systems. The broadcast and general topology subnetworks
  140.     support an arbitrary number of systems. The crucial difference
  141.     between the latter two types is the cost of sending a packet to a
  142.     large subset of the subnetwork population. If the cost of such an
  143.     *n-way* transmission scales directly with the subset size, then the
  144.     subnetwork topology is considered general (a common example is an
  145.     X.25 subnetwork).  If the cost of an *n-way* transmission is close
  146.     to the cost of a transmission to a single system, then the topology
  147.     is broadcast (a common example is 802.3).  This difference affects
  148.     the transmission of configuration information.
  149.  
  150.     Ideally, configuration information is sent to many systems on the 
  151.     subnetwork simultaneously.  When operating on a broadcast
  152.     subnetwork, ESHs are sent to a special multicast address "all
  153.     intermediate systems".  ISHs are sent to a special multicast
  154.     address "all end systems".  This multicast address may be realized
  155.     physically as a true multicast or as a broadcast to every system.
  156.     When operating on a general topology subnetwork, configuration
  157.     information is generally not transmitted due to the high cost of a
  158.     multicast transmission.
  159.  
  160. Network and Subnetwork Addresses
  161.  
  162.     The addresses described so far have been network layer addresses.
  163.     There are actually two different kinds of addresses that the ES-IS
  164.     protocol conveys: network layer addresses and subnetwork addresses. 
  165.  
  166.     Network layer addresses identify either the interface between layer
  167.     3 and layer 4 in an OSI ES (called a Network Service Access Point,
  168.     NSAP), or the network layer entity itself in an OSI IS (called a
  169.     Network Entity Title, NET).  NSAP addresses and NETs are part of a
  170.     name space which spans all OSI networks.
  171.  
  172.     These network layer addresses can be contrasted with a subnetwork
  173.     point of attachment address (SNPA address).  The SNPA is the point
  174.     where an ES or IS is physically attached to a subnetwork.  The SNPA
  175.     address is used by the subnetwork to uniquely identify each system
  176.     attached to the subnetwork.  For example, in an 802.3 subnetwork,
  177.     the SNPA address corresponds to the 48 bit MAC address.
  178.  
  179.     When an ES or IS transmits a packet, it is necessary to determine
  180.     the destination SNPA address.  This is generally accomplished by
  181.     associating a NSAP address or NET with a specific SNPA address. 
  182.     Part of the configuration information transmitted by the ES-IS 
  183.     protocol is this NSAP address (or NET) to SNPA address mapping.
  184.  
  185. Operational Scenarios
  186.  
  187.     It is often useful to consider real-life scenarios in order to get
  188.     an intuitive idea of how a protocol operates. In the following
  189.     examples, please refer to Figure 1. Furthermore, assume that the
  190.     subnetworks in Figure 1 are broadcast subnetworks and that capital
  191.     letters are NSAP & NET addresses, whereas lower letters are
  192.     corresponding SNPA addresses.
  193.  
  194.     Example 1:
  195.     ES A wishes to send a packet to ES C.  ES A knows about IS D
  196.     because it receives periodic ISH packets from IS D. Since D is an
  197.     IS, and ISs should know how to route packets toward any
  198.     destination, ES A will send its packet directly to IS D.  In
  199.     addition to knowing that IS D is an intermediate system, ES A also
  200.     knows the SNPA for IS D.  This information was taken from the ISH
  201.     received from IS D.  Result: ES A sends the packet to IS D at SNPA
  202.     d and IS D forwards the packet to ES C.
  203.  
  204.     Example 2a:
  205.     ES A wishes to send a packet to ES B.  As in example 1, ES A knows
  206.     about IS D due to receipt of ISH packets from D. Therefore, ES A
  207.     will send its packet to IS D at SNPA d. IS D has knowledge about
  208.     both ES A and ES B because it receives ESH packets from both.  When
  209.     IS D receives the data packet from ES A, it computes that ES B is
  210.     reachable via the same subnetwork as ES A, and forwards the data
  211.     packet to ES B.  In addition, IS D computes that ES A could have
  212.     sent the packet directly to ES B.  IS D notifies ES A of this fact
  213.     by sending a RD PDU to ES A.  This RD PDU indicates that ES B may
  214.     be reached by sending packets directly to SNPA b.  Further packets
  215.     sent by ES A to ES B are directed toward ES B.
  216.  
  217.     Example 2b:
  218.     This is the same scenario as 2a, but with a twist.  Assume that ES
  219.     A's routing information states that ES B is on the *same
  220.     subnetwork* as ES A. The only problem is that ES A does not know
  221.     the SNPA for ES B.  ES A has two choices.  As in 2a, it could send
  222.     the packet to IS D and receive a redirect.  Or, as an optimization,
  223.     ES A could listen to ESH PDUs sent on the subnetwork.  If ES A
  224.     eavesdropped, it would know the SNPA of B. ES A could then transmit
  225.     the packet directly to ES B at SNPA b.
  226.  
  227.     Example 3:
  228.     Similar to scenario 2b, assume that ES A wishes to send to ES B.
  229.     In addition, ES A knows that ES B is on the same subnetwork.
  230.     Furthermore, assume that ES A does not eavesdrop and IS D does not
  231.     exist.  How can ES A determine the SNPA of ES B? In this situation,
  232.     ES A will invoke a function of the ES-IS protocol called query
  233.     configuration.  To do this, ES A will *broadcast* its *data* packet
  234.     to all ESs on the subnetwork.  When ES B receives this broadcasted
  235.     packet, it will note: 1) that the packet is a data packet sent to a
  236.     broadcast SNPA address; 2) that the destination NSAP address of the
  237.     broadcasted packet is ES B.  In this case, ES B will generate an
  238.     ESH packet and send it directly to ES A.  This packet will inform
  239.     ES A of the SNPA of ES B.
  240.  
  241.     A commonly asked question, when considering example 3, is "If ES A
  242.     does not eavesdrop ESH packets, how can it receive the ESH sent
  243.     directly by ES B ?" The key to the answer is SNPA addresses.  When
  244.     an ES eavesdrops, it *enables* the reception of packets addressed
  245.     to the multicast address "all intermediate systems" (because end
  246.     systems send their ESH packets to the multicast address "all
  247.     intermediate systems").   When ES B sends an ESH to ES A, it sends
  248.     it directly to SNPA a. ES A will receive this packet even if the
  249.     "all intermediate systems" multicast address is not enabled.
  250.  
  251. PDU formats
  252.  
  253.     Figure 2 and 3 show the format of the ESH and ISH packets.  The
  254.     format of these packets is very similar: they both have a fixed
  255.     header which is almost identical to the fixed part of an ISO 8473
  256.     (CLNP) packet.  Following the fixed part, each hello packet has
  257.     space to store a network address.  Note that an ESH has space for
  258.     more than 1 NSAP address, (since an ES may support several NSAPs)
  259.     whereas an ISH has space for only 1 NET.
  260.  
  261.     The discerning reader will note that there is no place in either
  262.     the ESH or ISH packet to store an SNPA address.  How can this
  263.     information be transmitted from system to system?  The answer lies
  264.     in the subnetwork service definition. By fiat, when a packet is
  265.     delivered by a subnetwork service, the delivery will include not
  266.     only the data packet but also the subnetwork source and destination
  267.     address.  Thus, when processing an ESH, the SNPA associated with
  268.     the ES is taken from the *source SNPA address* which accompanies
  269.     the delivery of the ESH.
  270.  
  271. Comparison to DoD Protocols
  272.  
  273.     The ES-IS routing exchange protocol does not have an exact
  274.     counterpart in the DoD protocol suite.  The configuration
  275.     information exchange function is similar to the function of the
  276.     Address Resolution Protocol (ARP, RFC 826).  However, ARP was
  277.     designed around an "on demand" approach, that is, query when the
  278.     information is needed.  This is in contrast to ES-IS where the
  279.     design is based around continual update messages (hello packets).
  280.     It should be noted that the query configuration function (shown in
  281.     example 3) is somewhat analogous to the ARP "on demand" approach.
  282.     However, unlike ARP, query configuration requires that the entire
  283.     data packet, rather than an ARP request, be broadcast on the
  284.     subnetwork.
  285.  
  286.     The counterpart to the ES-IS redirection information function in
  287.     the DoD protocol suite is the redirect message defined by the ICMP
  288.     protocol (RFC 792). These two approaches to redirect differ in that 
  289.     ES-IS allows the target of a redirect to be either an ES or IS
  290.     whereas an ICMP redirect can only refer to a gateway.
  291.  
  292.  
  293. =============================================================================
  294.  
  295. Figure 1
  296.  
  297.           +-------+
  298.           |       |
  299.           | ES A  |------|
  300.           |       |      |               
  301.           +-------+      |               
  302.                          |               
  303.                          |   +-------+   |
  304.                          |   |       |   |
  305.                          |---| IS D  |---|
  306.                          |   |       |   |
  307.                          |   +-------+   |     +-------+
  308.                          |               |     |       |
  309.           +-------+      |               |-----| ES C  |
  310.           |       |      |                     |       |
  311.           | ES B  |------|                     +-------+
  312.           |       |
  313.           +-------+
  314.  
  315. =============================================================================
  316.  
  317. Figure 2
  318.  
  319.     The ESH Packet Format
  320.  
  321. +-------------------------------------------------------------+
  322. |               Network Layer Protocol Identifier
  323. +-------------------------------------------------------------+
  324. |                Length Indicator
  325. +-------------------------------------------------------------+
  326. |                Version/Protocol Id extension
  327. +-------------------------------------------------------------+
  328. |                Reserved
  329. +-------------------------------------------------------------+
  330. |  0  | 0 | 0 |   Type of Packet
  331. +-------------------------------------------------------------+
  332. |               Holding 
  333. |               Time
  334. +-------------------------------------------------------------+
  335. |               Checksum
  336. |
  337. +-------------------------------------------------------------+
  338. |               Number of Source Addresses
  339. +-------------------------------------------------------------+
  340. |               Source Address Length
  341. +-------------------------------------------------------------+
  342. /
  343.                 Source Address
  344. /
  345. |
  346. +-------------------------------------------------------------+
  347. .
  348. .
  349. +-------------------------------------------------------------+
  350.  
  351.  
  352. =============================================================================
  353.  
  354. Figure 3
  355.  
  356.     The ISH Packet Format
  357.  
  358. +-------------------------------------------------------------+
  359. |               Network Layer Protocol Identifier
  360. +-------------------------------------------------------------+
  361. |                Length Indicator
  362. +-------------------------------------------------------------+
  363. |                Version/Protocol Id extension
  364. +-------------------------------------------------------------+
  365. |                Reserved
  366. +-------------------------------------------------------------+
  367. |  0  | 0 | 0 |   Type of Packet
  368. +-------------------------------------------------------------+
  369. |               Holding 
  370. |               Time
  371. +-------------------------------------------------------------+
  372. |               Checksum
  373. |
  374. +-------------------------------------------------------------+
  375. |               Network Entity Title Length
  376. +-------------------------------------------------------------+
  377. /
  378.                 Network Entity Title
  379. /
  380. |
  381. +-------------------------------------------------------------+
  382.  
  383.  
  384.